1. Field of Use
The present invention relates to control stores for controlling the sequence of elementary operations within a processing system and more particularly to a microprogrammed control store system which requires a small number of microinstructions and provides for increased processing efficiency.
2. Prior Art
In general, a substantial number of central processing units (CPU's), and input/output processing units (IOPS) employ microprogrammed control elements for executing program instructions. For the most part, the microprogrammed control elements include a single control store for storing microinstructions of a number of microinstruction routines, each utilized in executing an operation specified by the operation code (OP CODE) of the program instruction. In order to reduce the storage requirements of the control store, some systems have employed elaborate branching apparatus for sequencing to the different microinstruction routines in instances when it is possible to utilize the same routine for executing more than one type of instruction. To facilitate the sharing of routines, one system disclosed in U.S. Pat. No. 3,560,933 employs an adaptive encoding techinque which enables a given microinstruction sequence to be given varied interpretations. While this results in a reduction in the number of routines, the arrangement still requires elaborate branching apparatus.
In order to reduce the size of the control store, some systems have employed two control stores. In one system, one of the control stores utilizes a portion of the op code of a program instruction to access a microinstruction whose width is less than that of the microinstructions contained in the other control store. The accessed microinstruction provides an address for referencing the next and subsequent microinstructions from the second control store required for the instruction being executed.
In another system, one of the control stores is forced to access a common microinstruction sequence for fetching the next instruction to be executed. Thereafter, the op code of the instruction fetched is used to access a pair of words in the other control store, the second word of which is used to access a microinstruction sequence for executing the fetched instruction. For further information, reference may be made to the copending patent application titled "System for Extending the Interior Decor of a Microprogrammed Computer" invented by Antonio Brioschi bearing Ser. No. 511,135 filed Oct. 2, 1974 which is now U.S. Pat. No. 3,949,372, issued Apr. 6, 1976, and assigned to the assignee of the present invention. While the arrangement of the first system discussed above reduces the width of the control store, it does not provide for reducing microinstructions by maximizing the sharing of microinstruction sequences. Moreover, the arrangement requires apparatus for decoding the remaining bits of the op code during the execution of the instruction since only a portion of the op code was used to access the first microinstruction in the first control store.
In the arrangement of the second system discussed above, it has been found that since a single microinstruction routine is utilized for initial processing of all instructions, it limits the flexibility in terms of the types of instruction formats which can be processed. Further, in the arrangement, longer microinstruction sequences and additional cycles of operation are required for instruction execution. Accordingly, it is a primary object of the present invention to provide a microprogram control element which has reduced storage requirements.
It is a further object of the present invention to provide a microprogram control element which provides for increased processing efficiency.